package com.firebird.app.fekpsl.mvp.home

import com.firebird.app.fekpsl.base.IModel
import com.firebird.app.fekpsl.base.IPresenter
import com.firebird.app.fekpsl.base.IView
import com.firebird.app.fekpsl.bean.HttpResult
import com.firebird.app.fekpsl.bean.UserInfoBody

import io.reactivex.Observable

/**
 * @author firebird
 * @date 2018/8/30
 * @desc
 */
interface MainContract {

    interface View : IView {
        fun showLogoutSuccess(success: Boolean)
        fun showUserInfo(bean: UserInfoBody)
    }

    interface Presenter : IPresenter<View> {
        fun logout()
        fun getUserInfo(userUuid:String)
    }

    interface Model : IModel {
        fun logout(): Observable<HttpResult<Any>>
        fun getUserInfo(userUuid: String): Observable<HttpResult<UserInfoBody>>
    }

}